package util;

import java.io.IOException;
import java.io.InputStream;

/**
 * Classe respons�vel por executar comandos em terminal Linux
 * @author augusto
 *
 */
public class ComandoTerminal {

	private static Process processo;
	private static InputStream in;
	private static String retorno;
		
	/**
	 * M�todo respons�vel por executar comandos no Terminal Linux
	 * @param comando
	 */
	public static String executaComando(String comando) {
		
		try {
			
			//Executa comando no Terminal Linux
			processo = Runtime.getRuntime().exec(comando);
			
			in = processo.getInputStream();
			
			trataRetornoComando(in);
				        
		} catch (IOException e) {
			
			// TODO Auto-generated catch block
			System.err.println("Problemas ao executar comando: " + e.getMessage());
		}
		
		return retorno;
	}
	
	/**
	 * M�todo respons�vel por tratar o retorno do comando executado no terminal Linux;
	 * @param in
	 */
	public static void trataRetornoComando(InputStream in) {
		
		int c;
		retorno = "";
		
        try {
        	
			while ((c = in.read()) != -1) {
			    retorno += (char)c;
			}
			
			in.close();
			
		} catch (IOException e) {
			
			// TODO Auto-generated catch block
			System.err.println("Erro ao tratar saida do comando executado: " + e.getMessage());
		} 
        
        
       // System.out.println(retorno);
	}
	
	
	/**
	 * M�todo respons�vel por retornar a Runtime
	 * @return
	 */
	public static Runtime getRunTime() {
	
		return Runtime.getRuntime();
	}
	
	
	public static void main(String args[]) {
	
		ComandoTerminal.executaComando("dir");
	}
}
